/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 pathfinding_subject.h

 ************************************************************************/

#ifndef _HDR_PATHFINDING_SUBJECT_INC
#define _HDR_PATHFINDING_SUBJECT_INC

#include "adv_map_point.h"
#include "counted_ptr.h"
#include "creature_array.h"

class t_adventure_map;

// Psuedo creature array for pathfinding purposes
class t_pathfinding_subject : public t_creature_array, public t_counted_object
{
public:
	t_pathfinding_subject( t_adventure_map * map, int owner, int daily_movement );

	// Overrides for creature array
	virtual t_adventure_map*	get_map() const;
	virtual int					get_movement( bool sea_move ) const;
	virtual int					get_max_movement( bool sea_move ) const;
	virtual int					get_owner_number() const;
	virtual t_adv_map_point		get_position() const;
	virtual	bool				get_virtual_position(t_adv_map_point& position) const;
	void						set_position( t_adv_map_point const & location );

private:
	int						m_daily_movement;
	t_adv_map_point			m_location;
	t_adventure_map *       m_map;
	int						m_owner;
};

#endif
